package web

import (
	"ksd-social-api/commons/base/controller"
	"ksd-social-api/modules/note/model/context"
	"ksd-social-api/modules/note/service"
)

type AdminNoteController struct {
	controller.BaseController
}

var adminNoteService = service.AdminNoteService{}

/*
*
查询信息
*/
func (web *AdminNoteController) FindNotes() {
	// 1: 定义一个接受分页信息的上下文
	noteSearchContext := context.NoteSearchContext{}
	// 2: 开始绑定参数
	web.BindJSON(&noteSearchContext)
	noteSearchContext.SystemId = web.GetSystemId()
	web.Ok(adminNoteService.FindNoteListAndPage(noteSearchContext))
}

/*
*
修改状态
*/
func (web *AdminNoteController) UpdateFieldById() {
	// 1: 定义一个接受分页信息的上下文
	noteUpdateContext := context.NoteUpdateContext{}
	// 2: 开始绑定参数
	web.BindJSON(&noteUpdateContext)
	noteUpdateContext.SystemId = web.GetSystemId()
	web.Ok(adminNoteService.UpdateFieldById(noteUpdateContext))
}

/*
*
修改状态
*/
func (web *AdminNoteController) UpdateFieldById2() {
	// 1: 定义一个接受分页信息的上下文
	noteUpdateContext := context.NoteUpdateContext{}
	// 2: 开始绑定参数
	web.BindJSON(&noteUpdateContext)
	noteUpdateContext.SystemId = web.GetSystemId()
	web.Ok(adminNoteService.UpdateFieldById2(noteUpdateContext))
}

/*
*
修改状态
*/
func (web *AdminNoteController) UpdateFieldByCodeId() {
	// 1: 定义一个接受分页信息的上下文
	noteUpdateContext := context.NoteUpdateContext{}
	// 2: 开始绑定参数
	web.BindJSON(&noteUpdateContext)
	noteUpdateContext.SystemId = web.GetSystemId()
	web.Ok(adminNoteService.UpdateFieldByCodeId(noteUpdateContext))
}

/*
*
保存兑换码
*/
func (web *AdminNoteController) SaveUpdateCodes() {
	// 1: 定义一个接受分页信息的上下文
	noteCodeContext := context.NoteCodeContext{}
	// 2: 开始绑定参数
	web.BindJSON(&noteCodeContext)
	noteCodeContext.SystemId = web.GetSystemId()
	web.Ok(adminNoteService.SaveUpdateCode(noteCodeContext))
}

/*
*
查询栏目兑换码信息
*/
func (web *AdminNoteController) FindCodes() {
	// 1: 定义一个接受分页信息的上下文
	codeSearchContext := context.CodeSearchContext{}
	// 2: 开始绑定参数
	web.BindJSON(&codeSearchContext)
	codeSearchContext.SystemId = web.GetSystemId()
	web.Ok(adminNoteService.FindCodePage(codeSearchContext))
}

/*
*
查询栏目兑换码信息
*/
func (web *AdminNoteController) BatchSaveOrders() {
	// 1: 定义一个接受分页信息的上下文
	batchUsersContext := context.BatchUsersContext{}
	// 2: 开始绑定参数
	web.BindJSON(&batchUsersContext)
	batchUsersContext.SystemId = web.GetSystemId()
	batchUsersContext.SystemName = web.GetSystemName()
	web.Ok(adminNoteService.SaveUserNoteOrder(batchUsersContext))
}

/**
 * @author feige
 * @date 2023-10-10
 * @version 1.0
 * @desc  根据id删除
 */
func (web *AdminNoteController) DelById() {
	id, _ := web.ParseParamUint64("id")
	web.Ok(adminNoteService.DelById(id, web.GetSystemId()))
}

/**
 * @author feige
 * @date 2023-10-10
 * @version 1.0
 * @desc  根据课程id查询课程明细
 */
func (web *AdminNoteController) DelCodeById() {
	id, _ := web.ParseParamUint64("id")
	web.Ok(adminNoteService.DelCodeById(id, web.GetSystemId()))
}

/*
*
复制课程
*/
func (web *AdminNoteController) CopyData() {
	id, _ := web.ParseParamUint64("id")
	web.Ok(adminNoteService.CopyData(id, web.GetSystemId()))
}
